package com.demarc.pesquisas.web.pagina;

public enum OperacaoEnum {

	MANUTENCAO("manutencao", "manter"), //
	INCLUSAO("inclusao", "salvar"), //
	ALTERACAO("alteracao", "alterar"), //
	EXCLUSAO("exclusao", "excluir"), //
	DETALHE("detalhe", "detalhar"), //
	LISTAGEM("listagem", "listar");

	private String chavePropertiesOperacao;
	private String chavePropertiesAcao;

	OperacaoEnum(String chavePropertiesOperacao, String chavePropertiesAcao) {
		this.chavePropertiesOperacao = chavePropertiesOperacao;
		this.chavePropertiesAcao = chavePropertiesAcao;
	}

	public String getChavePropertiesOperacao() {
		return chavePropertiesOperacao;
	}

	public void setChavePropertiesOperacao(String chavePropertiesOperacao) {
		this.chavePropertiesOperacao = chavePropertiesOperacao;
	}

	public String getChavePropertiesAcao() {
		return chavePropertiesAcao;
	}

	public void setChavePropertiesAcao(String chavePropertiesAcao) {
		this.chavePropertiesAcao = chavePropertiesAcao;
	}

	public static boolean isEditavel(OperacaoEnum operacao) {
		return isInclusao(operacao) || isAlteracao(operacao);
	}

	public static boolean isInclusao(OperacaoEnum operacao) {
		return INCLUSAO.equals(operacao);
	}

	public static boolean isAlteracao(OperacaoEnum operacao) {
		return ALTERACAO.equals(operacao);
	}

	public static boolean isExclusao(OperacaoEnum operacao) {
		return EXCLUSAO.equals(operacao);
	}

	public static boolean isDetalhe(OperacaoEnum operacao) {
		return DETALHE.equals(operacao);
	}

	public static boolean isListagem(OperacaoEnum operacao) {
		return LISTAGEM.equals(operacao);
	}

	public static boolean isManutencao(OperacaoEnum operacao) {
		return MANUTENCAO.equals(operacao);
	}
}
